package object;
/**
 * 测试toString方法与equals方法
 * @author 范传奇
 *
 */
public class Demo {
	public static void main(String[] args) {
		Point p = new Point(1,2);
		Point p2 = new Point(3,4);
		/*
		 * System.out.println(Object o)
		 * 我们经常使用该方法将一个引用类型变量进行输出。
		 * 而这个方法是先调用给定的对象的toString方法，然后将该方法返回的String
		 * 输出到控制台。
		 * 由于toString方法是Object定义的方法，因此所有类都有这个方法，如果子类
		 * 没有重写的话，那么Object提供的toString方法返回的字符串格式是:
		 * 类名@地址
		 * 但是这个格式输出到控制台对我们开发实质上没有多大帮助。因此，当我们将来
		 * 希望输出一个对象更有价值的内容时，就需要重写这个方法。
		 * 
		 */
		System.out.println(p);
		System.out.println(p2);
		/*
		 * 字符串与其他类型连接的结果还是字符串。
		 * 那么字符串实际连接其他引用类型时，就是调用该对象的toString方法，将
		 * 返回的字符串进行连接的。
		 * 下面的代码等同于:
		 * String str = "point:" + p.toString();
		 */
		String str = "point:" + p ;
		System.out.println(str);
		
		String line = p.toString();
		System.out.println(line);
		/*
		 * java API中提供的类大部分都重写过toString方法。因此将来只有我们自己定
		 * 义的类如果必要是需要自行重写toString方法
		 */
		String s = "hello";//String类就重写了toString方法
		System.out.println(s);//因此输出时看到的也不是类名@地址。
		
	}
}








